package br.com.dponto.util;

import br.com.dponto.contratado.ContratadoDAO;
import br.com.dponto.contratado.ContratadoDAOHibernate;
import br.com.dponto.contratante.ContratanteDAO;
import br.com.dponto.contratante.ContratanteDAOHibernate;
import br.com.dponto.endereco.EnderecoDAO;
import br.com.dponto.endereco.EnderecoDAOHibernate;
import br.com.dponto.ponto.PontoDAO;
import br.com.dponto.ponto.PontoDAOHibernate;
import br.com.dponto.usuario.UsuarioDAO;
import br.com.dponto.usuario.UsuarioDAOHibernate;



/*
 * Fábrica de DAO.
 * @author Beji Lima
 */
public class DAOFactory {
	
	
	/**
	 * Metodo responsavel por criar uma instancia de UsuarioDAO
	 * @return UsuarioDAO
	 */
	public static UsuarioDAO criarUsuarioDAO() {
		
		UsuarioDAOHibernate usuarioDAO = new UsuarioDAOHibernate();
		usuarioDAO.setSession(HibernateUtil.getSessionFactory().getCurrentSession());
		
		return usuarioDAO;
				
	}

	public static ContratanteDAO criarContratanteDAO() {
	
		ContratanteDAOHibernate contratanteDAO = new ContratanteDAOHibernate();
		contratanteDAO.setSession(HibernateUtil.getSessionFactory().getCurrentSession());
		return contratanteDAO;
	}
	
	public static EnderecoDAO criarEnderecoDAO() {
		
	EnderecoDAOHibernate enderecoDAO = new EnderecoDAOHibernate();
		enderecoDAO.setSession(HibernateUtil.getSessionFactory().getCurrentSession());
		return enderecoDAO;
	}

	public static ContratadoDAO criarContratadoDAO() {
		ContratadoDAOHibernate contratadoDAO = new ContratadoDAOHibernate();
		contratadoDAO.setSession(HibernateUtil.getSessionFactory().getCurrentSession());
		return contratadoDAO;
	}

	public static PontoDAO criarPontoDAO() {
		
		PontoDAOHibernate pontoDAO = new PontoDAOHibernate();
		pontoDAO.setSession(HibernateUtil.getSessionFactory().getCurrentSession());
		return pontoDAO;
	}
	/**
	 * Metodo responsavel por criar uma instancia de EnderecoDAO
	 * @return EnderecoDAO
	 */
	

}
